lucene(15)—java读取word excel pdf及lucene搜索之正则表达式查询RegExQuery和手机邮箱查询示例
读取文本文件中的内容,找出文件中的手机号和邮箱,我自己写了一个读取文档的内容的正则查询示例,用于匹配文件中是否含有邮箱或者手机号,这个等于是对之前的文本处理工具的一个梳理,同时结合lucene内部提供的正则匹配查询RegexQuery;
废话不多说了,直接上代码,这里先对文件内容读取分类处理,分为pdf word excel 和普通文本四类,不同的种类读取文本内容不一样
pdf利用pdfbox读取内容,word和excel利用poi进行读取内容,文本文档利用jdk自带的读取
读取pdf、word、excel和普通文本文档内容(支持word excel 2007)
这里代码做了一点调整, 主要是对excel格式的空行和空列的过滤
|
|
正则查询query构建
在原有 lucene 查询的工具类的基础上加入正则查询的构建
|
|
最终的searchUtil的内容为
|
|
正则查询测试
正则查询测试类,主要是测试是否包含手机号或邮箱号,这里的手机号验证有点粗糙,希望不要介意
|
|
最终测试结果如下:
|
|
代码下载地址